// pages/login/login.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone: '',
    password: '',
    code: '',
    codeShow: true,
    loading:false
  },
  //切换登陆方式
  change() {
    this.setData({
      codeShow: !this.data.codeShow
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  //清空账号
  onClickIcon() {
    this.setData({
      phone: ""
    })
  },
  // 获取输入账号 
  phoneInput: function (e) {
    this.setData({
      phone: e.detail.value
    })
  },
  //清空验证码
  onClickIconCode() {
    this.setData({
      code: ""
    })
  },
  // 获取输入密码 
  passwordInput: function (e) {
    this.setData({
      password: e.detail.value
    })
  },

  // 获取验证码
  codeInput: function (e) {
    this.setData({
      code: e.detail.value
    })
  },

  // 登录 
  login: function () {
    console.log("这是密码登录！")
    let self = this;
    if (this.data.phone.length == 0 || this.data.password.length == 0) {
      wx.showToast({
        title: '账号为空',
        icon:"error",
        duration: 1000
      })
      this.setData({
        loading:false
      })
    } else {
      wx.request({
        url: 'http://123.60.30.116:9999/app/login/in', //仅为示例，并非真实的接口地址
        method: "POST",
        data: {
          username: this.data.phone,
          password: this.data.password,
        },
        header: {
          'content-type': 'application/json' // 默认值
        },
        success(res) {
          
          self.setData({
            loading:false
          })
          wx.showToast({
            title: '登录成功!',
            icon: 'success',
            duration: 2000
          })
          try {
            wx.setStorageSync('username', res.data.data.user.username), //账号手机号
              wx.setStorageSync('TOKEN', res.data.data.token),
              wx.setStorageSync('Permission', res.data.data.Permission), //权限表没卵用
              wx.setStorageSync('parentId', res.data.data.user.parentId), //部门ID
              wx.setStorageSync('id', res.data.data.user.id), //个人ID
              wx.setStorageSync('appid', res.data.data.user.appid), //appid拨打时需要带上
              wx.setStorageSync('roleName', res.data.data.roleName), //权限的名字
              wx.setStorageSync('realname', res.data.data.user.realname)//真实姓名
          } catch (e) {
            "搞错了再来！"
          }
          if (res.data.statusCode == '00000') {
            wx.switchTab({
              url: '/pages/call/call',
            })
          } else {
            wx.showToast({
              title: res.data.message,
              icon: 'none',
              duration: 1000
            })
          }
        },
        fail() {
          self.setData({
            loading:false
          })
          wx.showToast({
            title: '接口调用错误！',
            icon: 'loading',
            duration: 1000
          })
        }
      })
    }
  },
  //验证码登录
  loginCode() {
    let self = this;
    if (this.data.phone.length == 0 || this.data.code.length == 0) {
      wx.showToast({
        title: '账号为空',
        icon:"error",
        duration: 1000
      })
      this.setData({
        loading:false
      })
    } else {
      wx.request({
        url: 'http://123.60.30.116:9999/app/login/in', //仅为示例，并非真实的接口地址
        method: "POST",
        data: {
          username: this.data.phone,
          code: this.data.code,
        },
        header: {
          'content-type': 'application/json' // 默认值
        },
        success(res) {
          self.setData({
            loading:false
          })
          wx.showToast({
            title: '登录成功!',
            icon: 'success',
            duration: 2000
          })
          try {
            wx.setStorageSync('username', res.data.data.user.username), //账号手机号
              wx.setStorageSync('TOKEN', res.data.data.token),
              wx.setStorageSync('Permission', res.data.data.Permission), //权限表没卵用
              wx.setStorageSync('appid', res.data.data.user.appid), //appid拨打时需要
              wx.setStorageSync('roleName', res.data.data.user.roleName) //权限的名字
          } catch (e) {
            "搞错了再来！"
          }
          if (res.data.statusCode == '00000') {
            wx.switchTab({
              url: '/pages/call/call',
            })
          } else {
            wx.showToast({
              title: res.data.message,
              icon: 'none',
              duration: 1000
            })
          }
        },
        fail() {
          self.setData({
            loading:false
          })
          wx.showToast({
            title: '接口调用错误！',
            icon: 'fail',
            duration: 1000
          })
        }
      })
    }
  },


  //获取验证码
  getCode() {
    if (this.data.phone.length == 0) {
      wx.showToast({
        title: '账号为空！',
        icon: 'loading',
        duration: 1000
      })
    } else {
      wx.request({
        url: 'http://123.60.30.116:9999/app/login/get_code', //仅为示例，并非真实的接口地址
        method: "POST",
        data: {
          username: this.data.phone
        },
        header: {
          'content-type': 'application/json' // 默认值
        },
        success(res) {
          wx.showToast({
            title: res.data.message,
            icon: 'success',
            duration: 2000
          })
        },
        fail() {
          wx.showToast({
            title: '接口调用错误！',
            icon: 'fail',
            duration: 1000
          })
        }
      })
    }
  },
  onLogin(){
    this.setData({
      loading:true
    })
    console.log(this.data.codeShow)
    if(this.data.codeShow){
      this.login()
    }else{
      this.loginCode()
    }
  }
})